package com.ruoyi.problem.domain;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;

import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * 卡牌问题咨询对象 t_problem_consult
 * 
 * @author DEREK
 * @date 2023-08-03
 */
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("t_problem_consult")
public class ProblemConsult
{

    /** 主键ID */
	@TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 1=卡牌问答 2=骰子问答 3=星盘问答 4=六爻 */
    @Excel(name = "1=卡牌问答 2=骰子问答 3=星盘问答 4=六爻")
    private Integer type;

    /** 占卜ID t_system_divine */
    @Excel(name = "占卜ID t_system_divine")
    private String did;

    /** 咨询内容 */
    @Excel(name = "咨询内容")
    private String content;

    /** 打赏金额 */
    @Excel(name = "打赏金额")
    private BigDecimal amount;

    /** 扩展字段 */
    @Excel(name = "扩展字段")
    private String extend;
    
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date createTime;
    
    private Integer isAnonymous = 0; // 是否匿名 0=否 1=是
    private Integer isHide; 
    private Integer isDel = 0; 

    @TableField(exist = false)
    private List<String> divineList = new ArrayList<String>();
    @TableField(exist = false)
    private String nickName;
    private String remark;
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("type", getType())
            .append("did", getDid())
            .append("content", getContent())
            .append("amount", getAmount())
            .append("createTime", getCreateTime())
            .append("extend", getExtend())
            .toString();
    }
}
